package com.ycb.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycb.common.Result;
import com.ycb.dto.DishDto;
import com.ycb.pojo.Dish;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 菜品管理 服务类
 * </p>
 *
 * @author ycb
 * @since 2024-09-30
 */
public interface IDishService extends IService<Dish> {

    /**
     * 根据套餐id查询
     * @param id
     * @return
     */
    long findCountByCategoryId(Long id);

    /**
     * 保存菜品及风味表
     *
     * @param dishDto
     * @return
     */
    boolean saveWithFlavor(DishDto dishDto);

    /**
     * 获取数据
     * @param id 菜品id
     * @return
     */
    DishDto getWithFlavorById(Long id);

    /**
     * 修改菜品及风味类型
     * @param dishDto
     * @return
     */
    boolean updateWithFlavor(DishDto dishDto);

    /**
     * 页面数据分页
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    Result<Page> pageDishDto(int page, int pageSize, String name);

    /**
     * 删除菜品及风味
     * @param ids
     */
    void removeWithFlavorByIds(List<Long> ids);

    /**
     * 获取dish
     * @param categoryId
     * @return
     */
    Result<List<DishDto>> listByCategoryId(String categoryId);
}
